package com.tjcd.project.library_base.common.upload.contract;

import com.tjcd.project.library_base.common.baseBean.OssUploadFileBean;
import com.tjcd.project.library_base.common.upload.bean.CommonFileBean;
import com.tjcd.project.library_base.common.upload.bean.UploadBean;
import com.tjcd.project.library_base.common.upload.net.BaseFileObserver;
import com.tjcd.project.library_base.common.upload.progress.FileUploadObserver;

import java.io.File;

/**
 * @Author jiangKunKun
 * @CreateDate 2023/1/12
 * @Description
 * @SpittingGrooves
 */
public interface FileUploadContract {
    interface Model {
        void fileUpload(File file, String type, BaseFileObserver observer);

        void fileUploadOss(File file, String type, BaseFileObserver observer);

        void fileUploadProgress(File file, String type, FileUploadObserver inter, BaseFileObserver observer);

    }

    interface View {
        void fileUploadOssSuc(OssUploadFileBean uploadBean, File file, String type);

        void fileUploadOssFail(File file, String type);

        void fileUploadSuc(UploadBean uploadBean, String type);

        void fileUploadFai(String type);
    }

    interface Presenter {
        void fileUpload(File file, String type);

        void fileUploadOss(File file, String type);

        void fileUploadProgress(File file, String type, FileUploadObserver inter);

        void fileUploadProgress(File file, String type, CommonFileBean bean);

    }
}
